package com.xinruke.hostels.system.manage.interfaces.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author yutaipu
 */
@ApiModel("房间结果DTO")
@Data
public class RoomQueryResultDTO {

    @ApiModelProperty(value = "房间id", required = true)
    @NotNull(message = "房间id不能为空")
    private Integer id;

    /**
     * 酒店id
     */
    @ApiModelProperty(value = "酒店id", required = true)
    @NotNull(message = "酒店id不能为空")
    private Integer jiudianId;

    /**
     * 楼栋id
     */
    @ApiModelProperty(value = "楼栋id", required = true)
    private Integer loudongId;

    /**
     * 楼层id
     */
    @ApiModelProperty(value = "楼层id", required = true)
    private Integer loucengId;
    /**
     * 楼层名称
     */
    @ApiModelProperty(value = "楼层名称", required = true)
    private String loucengMingcheng;

    /**
     * 房型id
     */
    @ApiModelProperty(value = "房型id", required = true)
    private Integer fangxingId;

    /**
     * 房间编号
     */
    @ApiModelProperty(value = "房间编号", required = true)
    private String fangxingbianhao;

    /**
     * 房型名称
     */
    @ApiModelProperty(value = "房型名称")
    private String fangxingmingcheng;

    /**
     * 房间编号
     */
    @ApiModelProperty(value = "房间编号", required = true)
    private String fangjianbianhao;

    /**
     * 房间锁号
     */
    @ApiModelProperty(value = "房间锁号", required = true)
    private String fangjiansuohao;

    /**
     * 分机号码
     */
    @ApiModelProperty(value = "分机号码", required = true)
    private String fenjihaoma;

    /**
     * 完整锁号
     */
    @ApiModelProperty(value = "完整锁号", required = true)
    private String wanzhengsuohao;

    /**
     * 网络开门:1是0否
     */
    @ApiModelProperty(value = "网络开门:1是0否", required = true)
    private Byte wangluokaimen;

    /**
     * 网络门锁:1是；0否
     */
    @ApiModelProperty(value = "网络门锁:1是；0否", required = true)
    private Byte wangluomensuo;

    /**
     * 房间客控：1是0否
     */
    @ApiModelProperty(value = "房间客控：1是0否", required = true)
    private Byte fangjiankekong;

    /**
     * 网络取电：1是0否
     */
    @ApiModelProperty(value = "网络取电：1是0否", required = true)
    private Byte wangluoqudian;

    /**
     * 房间特征
     */
    @ApiModelProperty(value = "房间特征", required = true)
    private String fangjiantezheng;

    /**
     * 状态：0无效1有效2冻结
     */
    @ApiModelProperty(value = "状态：0无效1有效2冻结", required = true)
    private Byte zhuangtai;

    /**
     * 状态名称
     */
    @ApiModelProperty("状态名称")
    private String zhuangtaiMingCheng;

    /**
     * 描述
     */
    @ApiModelProperty(value = "描述", required = true)
    private String miaoshu;

    /**
     * 缩略图
     */
    @ApiModelProperty(value = "缩略图")
    private String suoluetu;

    /**
     * 房间照片
     */
    @ApiModelProperty(value = "房间照片", required = true)
    private String datu;

    /**
     * 朝向类型：1.朝南；2朝北；3朝东；4朝西
     */
    @ApiModelProperty(value = "朝向类型：1.朝南；2朝北；3朝东；4朝西", required = true)
    private Byte chaoxiang;

    /**
     * 朝向类型名称
     */
    @ApiModelProperty(value = "朝向类型名称")
    private String chaoxiangMingCheng;

    /**
     * 是否靠近马路：1是；0否
     */
    @ApiModelProperty(value = "是否靠近马路：1是；0否", required = true)
    private Byte kaojinmalu;

    /**
     * 是否有窗户：1有；0无
     */
    @ApiModelProperty(value = "否有窗户：1有；0无", required = true)
    private Byte youchuanghu;

    /**
     * 超预订数
     */
    @ApiModelProperty(value = "超预订数")
    private Integer chaoyudingshu;

    /**
     * 押金
     */
    @ApiModelProperty(value = "押金")
    private BigDecimal yajin;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date chuangjianshijian;

    /**
     * 创建人id
     */
    @ApiModelProperty(value = "创建人id")
    private Integer chuangjianrenId;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date gengxinshijian;

    /**
     * 更新人id
     */
    @ApiModelProperty(value = "更新人id")
    private Integer gengxinrenId;
}
